﻿using static KuiHuaBaoDian.SDK.IAPI;

namespace KuiHuaBaoDian.SDK {

    public partial interface IAPI {

        public interface ISystemInfo {

            string LaunchFrom { get; }

            string Location { get; set; }
        }

        public interface ILoginResult {

            string Token { get; }

            string EnvVersion { get; }

            string Version { get; }
        }

        public interface IRewardedADResult {

            string ID { get; }

            bool State { get; }

            int Count { get; }
        }
    }

    public static partial class API {

        private sealed class SystemInfo : ISystemInfo {

            public string LaunchFrom { get; set; }

            public string Location { get; set; }

            public string Inviter { get; set; }
        }

        private sealed class LoginResult : ILoginResult {

            public string Token { get; set; }

            public string EnvVersion { get; set; }

            public string Version { get; set; }
        }

        private sealed class RewardedADResult : IRewardedADResult {

            public string ID { get; init; }

            public bool State { get; init; }

            public int Count { get; init; }
        }
    }
}
